﻿2026-08-28T15:28:28.6817633Z Node 20 is being deprecated. This workflow is running with Node 24 by default. If you need to temporarily use Node 20, you can set the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true environment variable. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
2026-08-28T15:28:28.6832266Z ##[group]Run actions/checkout@v4
2026-08-28T15:28:28.6833567Z with:
2026-08-28T15:28:28.6834272Z   fetch-depth: 0
2026-08-28T15:28:28.6835084Z   repository: Gamexgit/FinanceManager
2026-08-28T15:28:28.6843626Z   token: ***
2026-08-28T15:28:28.6844449Z   ssh-strict: true
2026-08-28T15:28:28.6845227Z   ssh-user: git
2026-08-28T15:28:28.6846024Z   persist-credentials: true
2026-08-28T15:28:28.6846909Z   clean: true
2026-08-28T15:28:28.6847737Z   sparse-checkout-cone-mode: true
2026-08-28T15:28:28.6848739Z   fetch-tags: false
2026-08-28T15:28:28.6849561Z   show-progress: true
2026-08-28T15:28:28.6850329Z   lfs: false
2026-08-28T15:28:28.6851068Z   submodules: false
2026-08-28T15:28:28.6852195Z   set-safe-directory: true
2026-08-28T15:28:28.6853161Z   allow-unsafe-pr-checkout: false
2026-08-28T15:28:28.6854510Z env:
2026-08-28T15:28:28.6855262Z   PYTHONPATH: src
2026-08-28T15:28:28.6856034Z   JARVIS_FINANCE_ENV: test
2026-08-28T15:28:28.6857253Z   JARVIS_FINANCE_DB_PATH: /tmp/financemanager-phase3-controls/finance.sqlite3
2026-08-28T15:28:28.6858783Z   JARVIS_FINANCE_RUNTIME_DIR: /tmp/financemanager-phase3-controls/runtime
2026-08-28T15:28:28.6860262Z   JARVIS_FINANCE_CI_ROOT: /tmp/financemanager-phase3-migration
2026-08-28T15:28:28.6861348Z   JARVIS_FINANCE_WRITE_MODE: disabled
2026-08-28T15:28:28.6862454Z ##[endgroup]
2026-08-28T15:28:28.9317079Z Syncing repository: Gamexgit/FinanceManager
2026-08-28T15:28:28.9319894Z ##[group]Getting Git version info
2026-08-28T15:28:28.9321213Z Working directory is '/home/runner/work/FinanceManager/FinanceManager'
2026-08-28T15:28:28.9323397Z [command]/usr/bin/git version
2026-08-28T15:28:28.9324280Z git version 2.55.0
2026-08-28T15:28:28.9327128Z ##[endgroup]
2026-08-28T15:28:28.9335434Z Temporarily overriding HOME='/home/runner/work/_temp/b955dc74-f069-41d1-9ca5-0b48e1f21995' before making global git config changes
2026-08-28T15:28:28.9354786Z Adding repository directory to the temporary git global config as a safe directory
2026-08-28T15:28:28.9356899Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/FinanceManager/FinanceManager
2026-08-28T15:28:28.9397048Z Deleting the contents of '/home/runner/work/FinanceManager/FinanceManager'
2026-08-28T15:28:28.9400712Z ##[group]Initializing the repository
2026-08-28T15:28:28.9403100Z [command]/usr/bin/git init /home/runner/work/FinanceManager/FinanceManager
2026-08-28T15:28:28.9417943Z hint: Using 'master' as the name for the initial branch. This default branch name
2026-08-28T15:28:28.9447130Z hint: will change to "main" in Git 3.0. To configure the initial branch name
2026-08-28T15:28:28.9452981Z hint: to use in all of your new repositories, which will suppress this warning,
2026-08-28T15:28:28.9454641Z hint: call:
2026-08-28T15:28:28.9455880Z hint:
2026-08-28T15:28:28.9457028Z hint: 	git config --global init.defaultBranch <name>
2026-08-28T15:28:28.9458577Z hint:
2026-08-28T15:28:28.9459800Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
2026-08-28T15:28:28.9462170Z hint: 'development'. The just-created branch can be renamed via this command:
2026-08-28T15:28:28.9464027Z hint:
2026-08-28T15:28:28.9465495Z hint: 	git branch -m <name>
2026-08-28T15:28:28.9466914Z hint:
2026-08-28T15:28:28.9468829Z hint: Disable this message with "git config set advice.defaultBranchName false"
2026-08-28T15:28:28.9471322Z Initialized empty Git repository in /home/runner/work/FinanceManager/FinanceManager/.git/
2026-08-28T15:28:28.9480039Z [command]/usr/bin/git remote add origin https://github.com/Gamexgit/FinanceManager
2026-08-28T15:28:28.9483135Z ##[endgroup]
2026-08-28T15:28:28.9484376Z ##[group]Disabling automatic garbage collection
2026-08-28T15:28:28.9485427Z [command]/usr/bin/git config --local gc.auto 0
2026-08-28T15:28:28.9488098Z ##[endgroup]
2026-08-28T15:28:28.9489224Z ##[group]Setting up auth
2026-08-28T15:28:28.9490328Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-08-28T15:28:28.9505459Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2026-08-28T15:28:29.0084370Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-08-28T15:28:29.0106467Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
2026-08-28T15:28:29.0114375Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-08-28T15:28:29.0133864Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-08-28T15:28:29.0394056Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-08-28T15:28:29.0436874Z ##[endgroup]
2026-08-28T15:28:29.0439065Z ##[group]Fetching the repository
2026-08-28T15:28:29.0450852Z [command]/usr/bin/git -c protocol.version=2 fetch --prune --no-recurse-submodules origin +refs/heads/*:refs/remotes/origin/* +refs/tags/*:refs/tags/* +cc2b69028ee869fdec18e0f5cc1dc84c115cf6b9:refs/remotes/pull/56/merge
2026-08-28T15:28:30.0716049Z From https://github.com/Gamexgit/FinanceManager
2026-08-28T15:28:30.0718918Z  * [new branch]      Sprint14/twr-xirr-performance-attribution -> origin/Sprint14/twr-xirr-performance-attribution
2026-08-28T15:28:30.0722557Z  * [new branch]      Sprint15/household-import-transfer-reconciliation-v1 -> origin/Sprint15/household-import-transfer-reconciliation-v1
2026-08-28T15:28:30.0726250Z  * [new branch]      Sprint16/hotfix-openpyxl-runtime-dependency -> origin/Sprint16/hotfix-openpyxl-runtime-dependency
2026-08-28T15:28:30.0730907Z  * [new branch]      Sprint16/smart-household-inbox-real-data-onboarding-v2 -> origin/Sprint16/smart-household-inbox-real-data-onboarding-v2
2026-08-28T15:28:30.0735437Z  * [new branch]      feat/budget-analytics-data-explorer-v1   -> origin/feat/budget-analytics-data-explorer-v1
2026-08-28T15:28:30.0739496Z  * [new branch]      feat/budget-categories-duplicates-cleanup -> origin/feat/budget-categories-duplicates-cleanup
2026-08-28T15:28:30.0743049Z  * [new branch]      feat/budget-categories-ux-fix            -> origin/feat/budget-categories-ux-fix
2026-08-28T15:28:30.0745822Z  * [new branch]      feat/budget-import-production-v2         -> origin/feat/budget-import-production-v2
2026-08-28T15:28:30.0749037Z  * [new branch]      feat/budget-monthly-import-rule-learning-v1 -> origin/feat/budget-monthly-import-rule-learning-v1
2026-08-28T15:28:30.0751752Z  * [new branch]      feat/budget-phase-1-4                    -> origin/feat/budget-phase-1-4
2026-08-28T15:28:30.0754823Z  * [new branch]      feat/budget-planning-forecast-v1         -> origin/feat/budget-planning-forecast-v1
2026-08-28T15:28:30.0757581Z  * [new branch]      feat/budget-planning-usability-v2        -> origin/feat/budget-planning-usability-v2
2026-08-28T15:28:30.0760759Z  * [new branch]      feat/budget-review-bulk-assign-confirm   -> origin/feat/budget-review-bulk-assign-confirm
2026-08-28T15:28:30.0764338Z  * [new branch]      feat/budget-workflow-help-ux             -> origin/feat/budget-workflow-help-ux
2026-08-28T15:28:30.0767567Z  * [new branch]      feat/finance-command-center-monthly-close-v1 -> origin/feat/finance-command-center-monthly-close-v1
2026-08-28T15:28:30.0770666Z  * [new branch]      feat/fixed-costs-subscriptions-v1        -> origin/feat/fixed-costs-subscriptions-v1
2026-08-28T15:28:30.0774150Z  * [new branch]      feat/grocery-matching-review-learning-v2 -> origin/feat/grocery-matching-review-learning-v2
2026-08-28T15:28:30.0777319Z  * [new branch]      feat/grocery-product-price-providers-v1  -> origin/feat/grocery-product-price-providers-v1
2026-08-28T15:28:30.0779724Z  * [new branch]      feat/migros-product-savings-grocery-optimizer-v1 -> origin/feat/migros-product-savings-grocery-optimizer-v1
2026-08-28T15:28:30.0782399Z  * [new branch]      feat/mobile-nav-income-csv-final         -> origin/feat/mobile-nav-income-csv-final
2026-08-28T15:28:30.0785223Z  * [new branch]      feat/mobile-nav-income-hotfix-v2         -> origin/feat/mobile-nav-income-hotfix-v2
2026-08-28T15:28:30.0788228Z  * [new branch]      feat/mobile-nav-income-planning-v1       -> origin/feat/mobile-nav-income-planning-v1
2026-08-28T15:28:30.0794164Z  * [new branch]      fix/manual-entry-uat-flows               -> origin/fix/manual-entry-uat-flows
2026-08-28T15:28:30.0796955Z  * [new branch]      fix/sprint16.2-insurance-family-order    -> origin/fix/sprint16.2-insurance-family-order
2026-08-28T15:28:30.0800642Z  * [new branch]      hotfix/sprint13-global-portfolio-aggregation -> origin/hotfix/sprint13-global-portfolio-aggregation
2026-08-28T15:28:30.0804446Z  * [new branch]      hotfix/sprint20-wealth-history-contract  -> origin/hotfix/sprint20-wealth-history-contract
2026-08-28T15:28:30.0808331Z  * [new branch]      hotfix/sprint23.1-asset-refresh-idempotency -> origin/hotfix/sprint23.1-asset-refresh-idempotency
2026-08-28T15:28:30.0813325Z  * [new branch]      hotfix/sprint23.2-unified-asset-refresh-usdt -> origin/hotfix/sprint23.2-unified-asset-refresh-usdt
2026-08-28T15:28:30.0816944Z  * [new branch]      hotfix/sprint8-kpi-overflow              -> origin/hotfix/sprint8-kpi-overflow
2026-08-28T15:28:30.0819606Z  * [new branch]      hotfix/sprint8-readonly-render           -> origin/hotfix/sprint8-readonly-render
2026-08-28T15:28:30.0822689Z  * [new branch]      integration/portfolio-phase3-to-main     -> origin/integration/portfolio-phase3-to-main
2026-08-28T15:28:30.0825071Z  * [new branch]      main                                     -> origin/main
2026-08-28T15:28:30.0827208Z  * [new branch]      sprint10/portfolio-go-live               -> origin/sprint10/portfolio-go-live
2026-08-28T15:28:30.0830024Z  * [new branch]      sprint11/portfolio-completeness-ux       -> origin/sprint11/portfolio-completeness-ux
2026-08-28T15:28:30.0833008Z  * [new branch]      sprint12/truewealth-verified-import      -> origin/sprint12/truewealth-verified-import
2026-08-28T15:28:30.0836063Z  * [new branch]      sprint13/postfinance-ledger-import       -> origin/sprint13/postfinance-ledger-import
2026-08-28T15:28:30.0839497Z  * [new branch]      sprint16.1/classification-coverage-import-readiness -> origin/sprint16.1/classification-coverage-import-readiness
2026-08-28T15:28:30.0843641Z  * [new branch]      sprint16.2/first-import-calibration-portal-flow -> origin/sprint16.2/first-import-calibration-portal-flow
2026-08-28T15:28:30.0847532Z  * [new branch]      sprint16.3/import-readiness-batched-decisions-performance -> origin/sprint16.3/import-readiness-batched-decisions-performance
2026-08-28T15:28:30.0850935Z  * [new branch]      sprint17a/data-truth                     -> origin/sprint17a/data-truth
2026-08-28T15:28:30.0854937Z  * [new branch]      sprint17b/equity-quote-refresh           -> origin/sprint17b/equity-quote-refresh
2026-08-28T15:28:30.0857714Z  * [new branch]      sprint17b/household-cockpit              -> origin/sprint17b/household-cockpit
2026-08-28T15:28:30.0860612Z  * [new branch]      sprint17c/data-truth-navigation-today-lite -> origin/sprint17c/data-truth-navigation-today-lite
2026-08-28T15:28:30.0863963Z  * [new branch]      sprint19/prior-year-actuals-simple-budget-v1 -> origin/sprint19/prior-year-actuals-simple-budget-v1
2026-08-28T15:28:30.0866645Z  * [new branch]      sprint2/navigation-design-shell          -> origin/sprint2/navigation-design-shell
2026-08-28T15:28:30.0869244Z  * [new branch]      sprint20/performance-data-readiness-v1   -> origin/sprint20/performance-data-readiness-v1
2026-08-28T15:28:30.0872802Z  * [new branch]      sprint20b/performance-activation-daily-valuations-v1 -> origin/sprint20b/performance-activation-daily-valuations-v1
2026-08-28T15:28:30.0877058Z  * [new branch]      sprint20e/market-data-recovery-crypto-activation-v1 -> origin/sprint20e/market-data-recovery-crypto-activation-v1
2026-08-28T15:28:30.0880539Z  * [new branch]      sprint20e/never-run-status-hotfix        -> origin/sprint20e/never-run-status-hotfix
2026-08-28T15:28:30.0883720Z  * [new branch]      sprint20e/provider-provenance-ui-hotfix  -> origin/sprint20e/provider-provenance-ui-hotfix
2026-08-28T15:28:30.0887004Z  * [new branch]      sprint20g1/crypto-reconciliation-cockpit -> origin/sprint20g1/crypto-reconciliation-cockpit
2026-08-28T15:28:30.0890458Z  * [new branch]      sprint20h.1/postfinance-upload-hardening-followup -> origin/sprint20h.1/postfinance-upload-hardening-followup
2026-08-28T15:28:30.0894149Z  * [new branch]      sprint20h.1/postfinance-upload-readiness -> origin/sprint20h.1/postfinance-upload-readiness
2026-08-28T15:28:30.0897357Z  * [new branch]      sprint21/current-import-performance-cockpit -> origin/sprint21/current-import-performance-cockpit
2026-08-28T15:28:30.0900556Z  * [new branch]      sprint3.1/reconciliation-semantic-hardening -> origin/sprint3.1/reconciliation-semantic-hardening
2026-08-28T15:28:30.0903995Z  * [new branch]      sprint3/reconciliation-snapshot-foundation -> origin/sprint3/reconciliation-snapshot-foundation
2026-08-28T15:28:30.0907144Z  * [new branch]      sprint4.1/portfolio-policy-contract-hardening -> origin/sprint4.1/portfolio-policy-contract-hardening
2026-08-28T15:28:30.0910466Z  * [new branch]      sprint4/portfolio-policy-foundation      -> origin/sprint4/portfolio-policy-foundation
2026-08-28T15:28:30.0913786Z  * [new branch]      sprint5/portfolio-performance-foundation -> origin/sprint5/portfolio-performance-foundation
2026-08-28T15:28:30.1107163Z  * [new branch]      sprint6/portfolio-data-ingestion-reconciliation -> origin/sprint6/portfolio-data-ingestion-reconciliation
2026-08-28T15:28:30.1114034Z  * [new branch]      sprint7/postfinance-portfolio-source     -> origin/sprint7/postfinance-portfolio-source
2026-08-28T15:28:30.1133735Z  * [new branch]      sprint8/market-fx-benchmark-risk         -> origin/sprint8/market-fx-benchmark-risk
2026-08-28T15:28:30.1143854Z  * [new branch]      sprint9/portfolio-basis-policy           -> origin/sprint9/portfolio-basis-policy
2026-08-28T15:28:30.1146201Z  * [new tag]         v0.3.0                                   -> v0.3.0
2026-08-28T15:28:30.1148033Z  * [new tag]         v0.3.1                                   -> v0.3.1
2026-08-28T15:28:30.1149865Z  * [new tag]         v0.3.2                                   -> v0.3.2
2026-08-28T15:28:30.1152041Z  * [new ref]         cc2b69028ee869fdec18e0f5cc1dc84c115cf6b9 -> pull/56/merge
2026-08-28T15:28:30.1156249Z ##[endgroup]
2026-08-28T15:28:30.1157998Z ##[group]Determining the checkout info
2026-08-28T15:28:30.1159962Z ##[endgroup]
2026-08-28T15:28:30.1161149Z [command]/usr/bin/git sparse-checkout disable
2026-08-28T15:28:30.1164831Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-08-28T15:28:30.1168779Z ##[group]Checking out the ref
2026-08-28T15:28:30.1170473Z [command]/usr/bin/git checkout --progress --force refs/remotes/pull/56/merge
2026-08-28T15:28:30.1569637Z Note: switching to 'refs/remotes/pull/56/merge'.
2026-08-28T15:28:30.1571082Z 
2026-08-28T15:28:30.1571712Z You are in 'detached HEAD' state. You can look around, make experimental
2026-08-28T15:28:30.1573872Z changes and commit them, and you can discard any commits you make in this
2026-08-28T15:28:30.1575458Z state without impacting any branches by switching back to a branch.
2026-08-28T15:28:30.1576341Z 
2026-08-28T15:28:30.1576989Z If you want to create a new branch to retain commits you create, you may
2026-08-28T15:28:30.1578025Z do so (now or later) by using -c with the switch command. Example:
2026-08-28T15:28:30.1578624Z 
2026-08-28T15:28:30.1578867Z   git switch -c <new-branch-name>
2026-08-28T15:28:30.1579289Z 
2026-08-28T15:28:30.1579855Z Or undo this operation with:
2026-08-28T15:28:30.1580274Z 
2026-08-28T15:28:30.1580479Z   git switch -
2026-08-28T15:28:30.1580781Z 
2026-08-28T15:28:30.1671641Z Turn off this advice by setting config variable advice.detachedHead to false
2026-08-28T15:28:30.1673687Z 
2026-08-28T15:28:30.1675055Z HEAD is now at cc2b690 Merge 0f7a5b7ad9ec7f7c617ba1686ee4c27b3599fa47 into bef766b54576807f9963696202ada9bf32a98167
2026-08-28T15:28:30.1692676Z ##[endgroup]
2026-08-28T15:28:30.1707248Z [command]/usr/bin/git log -1 --format=%H
2026-08-28T15:28:30.1740354Z cc2b69028ee869fdec18e0f5cc1dc84c115cf6b9
